<html>
<body>
Reports <code>java.util.concurrent.locks.Condition.await()</code> not being called inside a loop.
<p>
  <code>await()</code> and related methods are normally used to suspend a thread until some condition becomes true.
  As the thread could have been woken up for a different reason,
  the condition should be checked after the <code>await()</code> call returns.
  A loop is a simple way to achieve this.
</p>
<p><b>Example:</b></p>
<pre><code>
  void acquire(Condition released) throws InterruptedException {
    released.await();
  }
</code></pre>
<p>Good code should look like this:</p>
<pre><code>
  void acquire(Condition released) throws InterruptedException {
    while (acquired) {
      released.await();
    }
  }
</code></pre>
<!-- tooltip end -->
</body>
</html>